import common.TreeNode;

/**
 * @author tmh
 * @date 2024/9/28 19:26
 * @description
 */
public class T226翻转二叉树 {
    /**
     * 中左右的思路，先往左遍历，在往右遍历，中的逻辑就是swap根节点的左右节点
     *
     * @param root
     * @return
     */
    public TreeNode invertTree(TreeNode root) {
        if (root == null) {
            return null;
        }
        swap(root);
        invertTree(root.left);
        invertTree(root.right);
        return root;
    }

    private void swap(TreeNode root) {
        TreeNode temp = root.left;
        root.left = root.right;
        root.right = temp;
    }
}
